﻿#include "de_data.h"

de_data::de_data()
{
	info = new Device_Info;
}

de_data::~de_data()
{
	delete info;
}

bool de_data::is_receive_complete(QByteArray &data)
{
	QString temp(data);

	if(temp.contains("OK"))
	{
		return true;
	}
	else
	{
		return false;
	}
}

//bool de_data::is_write_devID_success(QByteArray &data,QString & st)
//{
//	QString temp(data);

//	if(temp.contains(st))
//	{
//		return true;
//	}
//	else
//	{
//		return false;
//	}
//}


QString de_data::get_user_info(const QString &dst)
{
	QString user_info;
	qint8 start;

	if(dst.isEmpty())
	{
		return "false";
	}

	start = dst.indexOf("code=",0);
	if(start == -1)
	{
		return "false";
	}
	start = dst.indexOf("=",start);

	user_info.append(dst.mid(start+1,9));

	return user_info;
}

QString de_data::gei_info(QString &dst, const char *compa1, const char *compa2, quint8 size_t)
{
	QString target;
	quint8 start,end;

	if(dst.isEmpty())
	{
		return "false";
	}

	if(!dst.contains(compa1)) //简单 入参检测 zhangyh
	{
		return "false";
	}

	start = dst.indexOf(compa1);
	start = dst.indexOf(compa2,start) + strlen(compa2);
	end = dst.indexOf("\r\n",start);

	if(size_t != 0)
	{
		target.append(dst.mid(start,size_t));
	}
	else
	{
		target.append(dst.mid(start,end - start));
	}

	return target;
}

bool de_data::isnum(QString str)
{
	QByteArray ba = str.toLatin1();
	const char *s = ba.data();
	while(*s && *s>='0' && *s<='9')
		 s++;

	if (*s)
	{
		return false;
	}
	else
	{
		return true;
	}
}
